package com.atguigu.visitor;

/**
 * @Description: 访问者模式
 * @Author lixiaolong
 * @Date 2023/10/11
 */
public class Client {

	/**
	 * 1、抽象访问者
	 * 2、具体访问者
	 * 3、数据结构
	 * 4、抽象元素
	 * 5、具体元素
	 *
	 * @param args
	 */
	public static void main(String[] args) {
		//创建 数据结构 ObjectStructure 管理被访问者
		ObjectStructure objectStructure = new ObjectStructure();

		// 具体元素 具体被访问者
		Person man = new Man();
		objectStructure.attach(man);

		Person woman = new Woman();
		objectStructure.attach(woman);

		Action success = new Success();
		objectStructure.display(success);

		System.out.println("===============");
		Action fail = new Fail();
		objectStructure.display(fail);

		System.out.println("=======给的是待定的评价========");

		Action wait = new Wait();
		objectStructure.display(wait);
	}

}
